import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'safeNull',
  standalone: true
})
export class SafeNullPipe implements PipeTransform {


  transform<T>(value: T, replace: string = ''): T | string {
    // 判断传入的值是否为null或undefined
    if (isNil(value)) {
      return replace;
    }
    return value;
  }

}

// 导出一个函数，用于判断传入的值是否不为null或undefined
export function isNotNil<T>(value: T): value is NonNullable<T> {
  // 判断传入的值是否不为undefined
  return typeof value !== 'undefined' && value !== null;
}

// 导出一个函数，用于判断传入的值是否为null或undefined
export function isNil(value: unknown): value is null | undefined {
  // 判断传入的值是否为undefined或null
  return typeof value === 'undefined' || value === null;
}